//npm install --save axios
import axios from "axios";
import router from "@/router/index"
import { ElMessage } from "element-plus";
import {getToken, removeToken} from "@/utils/token";

export function request(config){
	const instance = axios.create({
		baseURL:process.env.VUE_APP_BASE_URL,
		timeout:5000,

	})
	
	// 请求拦截
	instance.interceptors.request.use(config=>{
		// 在请求前边设置token
		let token = getToken();
		if(token) {
			config.headers.set("token", token)
		}
		// 直接放行
		return config;
	}, err=>{
		// 这里写一些错误的代码在这里
		return Promise.reject(err);
	})
	
	// 响应拦截
	instance.interceptors.response.use(res=>{
		// console.log("响应拦截开始了！！！",res);
		// console.log("响应拦截开始了！！！",res.data.data);
		if(res.data.code==-6){
			ElMessage.error("登录已过期，请重新登录")
			removeToken()
			router.push("/")
		}
		return res;
	},err=>{
		// 响应错误的在这里处理，比如404  500这些特殊的状态码
		// 咱们跳转一个特定的处理页面
		// console.log("响应拦截开始了！！！",res);
		return Promise.reject(err);
	})

	return instance(config);
} 